﻿// 371. Semi-prime H-numbers（挑战程序设计竞赛）.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;
/*
https://www.papamelon.com/problem/371


我们把所有等于4∗n+1 整数称为 H-Number，它们包括：
1,5,9,13,17,21,...

接下来我们仅在所有 H-Number 集合中考虑问题。

一种特殊的质数 H-Prime
如果一个数字h 是 H-Number，且不等于两个除1 以外的 H-Number 相乘，就认为它是一个特殊的质数 H-Prime。

例如5,9,21 都属于特殊的质数：

5=1×5
9=1×9
21=1×21
注意：尽管
9=3×3，但3 不是 H-Number。因此9 依然是一个特殊的质数。

另外
1 不是 H-Prime。

一种特殊的合数 H-composite
如果一个数字h 是 H-Number，且它等于两个或多个非1 的 H-Number 相乘，
就认为它是一个特殊的合数 H-composite。

例如25,45,85 都属于特殊的合数：

25=5×5
45=5×9
85=5×17
H-semi-prime
如果一个数字h 是 H-Number，且它等于恰好两个 H-Prime 相乘，就认为它是一个 H-semi-prime。

例如65,81 都是 H-semi-prime：
65=5∗13
81=9∗9
125 不属于 H-semi-prime，因为
125=5×5×5，有3 个 H-Prime。

现在给定一个整数h，保证它是一个 H-Number，统计在1∼h 之间有多少个 H-semi-prime。

输入
多组测试数据
每组测试数据占据一行，一个整数
h(1≤h≤1000001)，保证它一定是 H-Number
最后一行是数字 0 作为结束标志，不需要处理
输出
每组测试数据输出一行，一行两个整数，第一个是输入中的h，第二个是1∼h 之间有多少个 H-semi-prime
样例 1
输入
21
85
789
0
输出
21 0
85 5
789 62
*/


int main()
{



	return 0;
}

 